Apache POI ব্যবহার করে আপনি Microsoft Word ডকুমেন্টে Table তৈরি, Cell Merging, এবং Table Formatting করতে পারবেন। নিচে টেবিল সম্পর্কিত কাজগুলোর বিস্তারিত ব্যাখ্যা দেওয়া হলো।
প্রথমে, XWPFTable ব্যবহার করে একটি টেবিল তৈরি করা হয়। এই টেবিলের মধ্যে XWPFTableRow এবং XWPFTableCell ক্লাসের মাধ্যমে প্রতিটি সারি এবং সেলের বিষয়বস্তু নিয়ন্ত্রণ করা হয়।
import org.apache.poi.xwpf.usermodel.*;
import java.io.FileOutputStream;
import java.io.IOException;
public class CreateTableExample {
public static void main(String[] args) throws IOException {
XWPFDocument document = new XWPFDocument();
// টেবিল তৈরি
XWPFTable table = document.createTable();
// প্রথম সারি তৈরি
XWPFTableRow row1 = table.getRow(0);
row1.getCell(0).setText("Cell 1");
row1.addNewTableCell().setText("Cell 2");
// দ্বিতীয় সারি তৈরি
XWPFTableRow row2 = table.createRow();
row2.getCell(0).setText("Cell 3");
row2.getCell(1).setText("Cell 4");
// ডকুমেন্ট সেভ করা
FileOutputStream out = new FileOutputStream("table_example.docx");
document.write(out);
out.close();
}
}
এখানে, প্রথমে একটি টেবিল তৈরি করা হয়েছে এবং তারপরে প্রতিটি সারিতে সেল যোগ করা হয়েছে।
আপনি যদি টেবিলের একটি বা একাধিক সেল একত্রিত করতে চান, তাহলে XWPFTableCell এর merge() মেথড ব্যবহার করতে পারেন। উদাহরণস্বরূপ, যদি আপনি প্রথম সারির প্রথম দুই সেল একত্রিত করতে চান:
import org.apache.poi.xwpf.usermodel.*;
import java.io.FileOutputStream;
import java.io.IOException;
public class MergeCellsExample {
public static void main(String[] args) throws IOException {
XWPFDocument document = new XWPFDocument();
// টেবিল তৈরি
XWPFTable table = document.createTable();
// প্রথম সারি তৈরি
XWPFTableRow row1 = table.getRow(0);
row1.getCell(0).setText("Merged Cell 1");
row1.addNewTableCell().setText("Cell 2");
// দ্বিতীয় সারি তৈরি
XWPFTableRow row2 = table.createRow();
row2.getCell(0).setText("Cell 3");
row2.getCell(1).setText("Cell 4");
// প্রথম সারির প্রথম দুটি সেল একত্রিত করা
row1.getCell(0).merge(row1.getCell(1));
// ডকুমেন্ট সেভ করা
FileOutputStream out = new FileOutputStream("merged_cells_example.docx");
document.write(out);
out.close();
}
}
এখানে, merge()
মেথড ব্যবহার করে প্রথম সারির প্রথম দুটি সেল একত্রিত করা হয়েছে।
Apache POI ব্যবহার করে আপনি টেবিলের বিভিন্ন অংশের ফরম্যাটিং করতে পারেন, যেমন টেবিলের প্রান্ত, সেলের স্টাইল, টেক্সট ফরম্যাটিং ইত্যাদি।
টেবিলের সীমানা এবং প্রান্ত কাস্টমাইজ করার জন্য XWPFTable এর setTableBorders() মেথড ব্যবহার করা হয়।
import org.apache.poi.xwpf.usermodel.*;
import java.io.FileOutputStream;
import java.io.IOException;
public class TableBorderExample {
public static void main(String[] args) throws IOException {
XWPFDocument document = new XWPFDocument();
// টেবিল তৈরি
XWPFTable table = document.createTable();
// টেবিলের সীমানা সেট করা
table.setTableBorders(TableCellBorderType.SINGLE);
// প্রথম সারি তৈরি
XWPFTableRow row1 = table.getRow(0);
row1.getCell(0).setText("Cell 1");
row1.addNewTableCell().setText("Cell 2");
// দ্বিতীয় সারি তৈরি
XWPFTableRow row2 = table.createRow();
row2.getCell(0).setText("Cell 3");
row2.getCell(1).setText("Cell 4");
// ডকুমেন্ট সেভ করা
FileOutputStream out = new FileOutputStream("table_with_border.docx");
document.write(out);
out.close();
}
}
এখানে, setTableBorders()
ব্যবহার করে টেবিলের সীমানা নির্ধারণ করা হয়েছে।
একইভাবে, সেলের টেক্সট অ্যালাইনমেন্ট (center, left, right) নিয়ন্ত্রণ করতে XWPFTableCell এর setTextAlignment() মেথড ব্যবহার করা হয়।
import org.apache.poi.xwpf.usermodel.*;
import java.io.FileOutputStream;
import java.io.IOException;
public class CellAlignmentExample {
public static void main(String[] args) throws IOException {
XWPFDocument document = new XWPFDocument();
// টেবিল তৈরি
XWPFTable table = document.createTable();
// প্রথম সারি তৈরি
XWPFTableRow row1 = table.getRow(0);
XWPFTableCell cell1 = row1.getCell(0);
cell1.setText("Left Aligned");
cell1.setTextAlignment(ParagraphAlignment.LEFT); // বামদিকে অ্যালাইন করা
// দ্বিতীয় সারি তৈরি
XWPFTableRow row2 = table.createRow();
XWPFTableCell cell2 = row2.getCell(0);
cell2.setText("Right Aligned");
cell2.setTextAlignment(ParagraphAlignment.RIGHT); // ডানদিকে অ্যালাইন করা
// ডকুমেন্ট সেভ করা
FileOutputStream out = new FileOutputStream("cell_alignment_example.docx");
document.write(out);
out.close();
}
}
এখানে, setTextAlignment()
ব্যবহার করে সেলের টেক্সট অ্যালাইনমেন্ট পরিবর্তন করা হয়েছে।
Apache POI এর মাধ্যমে Table তৈরি, Cell Merging, এবং Table Formatting করা খুবই সহজ। টেবিলের সেল একত্রিত করার জন্য merge() মেথড এবং টেবিলের ফরম্যাটিং কাস্টমাইজ করার জন্য বিভিন্ন মেথড যেমন setTableBorders() এবং setTextAlignment() ব্যবহৃত হয়। এর মাধ্যমে আপনি Word ডকুমেন্টে প্রফেশনাল এবং কাস্টমাইজড টেবিল তৈরি করতে পারবেন।
common.read_more